package AboutSort;

public class Sort {
    /**
     选择法排序
     */
    public static void sortDesc(int[] nums){
        for(int i = 0 ; i < nums.length ; i++){
            for(int j = i + 1 ; j < nums.length ; j++){
                if(nums[i] < nums[j]){
                    //交换元素的值
                    int temp = nums[i];
                    nums[i] = nums[j];
                    nums[j] = temp;
                }
            }
        }
    }

    public static void sortAsc(int[] nums){
        for(int i = 0 ; i < nums.length ; i++){
            for(int j = i + 1 ; j < nums.length ; j++){
                if(nums[i] > nums[j]){
                    int temp = nums[i];
                    nums[i] = nums[j];
                    nums[j] = temp;
                }
            }
        }
    }

    /**
     * 冒泡法排序 升序
     * @param
     */

    public static void sort1Asc(int[] nums){
        for(int i = 0 ; i < nums.length - 1 ; i++){
            for(int j = 0 ; j < nums.length - i - 1 ; j++){
                if(j == nums.length -i -1){
                    continue;
                }
                if(nums[j] > nums[j + 1]){
                    int temp = nums[j];
                    nums[j] = nums[j + 1];
                    nums[j + 1] = temp;
                }
            }
        }
    }

    /**
     * 冒泡法排序 降序
     * @param nums
     */
    public static void sort1Desc(int[] nums){
        for(int i = 0 ; i < nums.length - 1 ; i++){
            for(int j = 0 ; j < nums.length - i ; j++){
                if(j == nums.length -i -1){
                    continue;
                }
                if(nums[j] < nums[j + 1]){
                    int temp = nums[j];
                    nums[j] = nums[j + 1];
                    nums[j + 1] = temp;
                }
            }
        }
    }

    public static void main(String[] args){
        int[] nums = {1,4,3,7,4};
        sortDesc(nums);
        for(int i : nums){
            System.out.println(i);
        }
        System.out.println("***********************");
        sortAsc(nums);
        for(int i : nums){
            System.out.println(i);
        }
        System.out.println("**************");
        sort1Asc(nums);
        for(int i : nums){
            System.out.println(i);
        }
        System.out.println("**************");
        sort1Desc(nums);
        for(int i : nums){
            System.out.println(i);
        }
    }
}
